[当尝试重定向到www.example.com/how-to-cook-a-egg]
不起作用
但是如果您这样做wwww.example.com/viewpost.php?p=how-to-cook-a-egg
效果很好
这是我目前用于重写URL的内容,在我的本地服务器上工作正常,但是一旦我在服务器上尝试了它就没用了
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
RewriteRule ^([-\w]+)$ viewpost.php?p=$1 [NC,L]
此URL也存储在数据库how-to-cook-a-egg中
所以我想发生的事情是,当您在网站主页上并单击www.example.com/how-to-cook-a-egg网址时,它将转到viewpost.php,并显示该帖子,但没有网址中的viewpost.php
请尝试在您的.htaccess文件中使用此代码
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^users/(\d+)*$ ./profile.php?id=$1
RewriteRule ^threads/(\d+)*$ ./thread.php?id=$1
RewriteRule ^search/(.*)$ ./search.php?query=$1
确定,这是我的错,我知道必须将/添加到RewriteRule之一
所以在它之前是RewriteRule ^([-\ w] +)$ viewpost.php?p = $ 1 [NC,L]
现在是RewriteRule ^([-\ w] +)$ /viewpost.php?p=$1 [NC,L]