我阅读了一些关于获取干净网址的教程。我尝试了他们在教程中提供的一些代码,但我无法得到一个简单的例子来运行...
我想改变:http://domain.com/brigandze/mannen/index.php?p=0
收件人:http://domain.com/brigandze/mannen/0/
我使用此代码并将其放在目录domain.com/brigandze/mannen/
我的htacces文件中有这段代码:
RewriteEngine on
RewriteRule ^([0-9]+)/?$ index.php?p=$1 [NC,L]
答案 0 :(得分:2)
您需要正确设置RewriteBase或使用RewriteRule中的完整路径(有关RewriteBase文档,请参阅here)。
RewriteBase /brigandze/mannen/
RewriteEngine on
RewriteRule ^([0-9]+)/?$ index.php?p=$1 [NC,L]
或
RewriteEngine on
RewriteRule ^brigandze/mannen/([0-9]+)/?$ brigandze/mannen/index.php?p=$1 [NC,L]
问题是Web服务器会查看从DocumentRoot开始的URL,除非您另有说明。在您的情况下,这意味着您的规则正在尝试重写
http://domain.com/0/
通过添加RewriteBase
,它会查看正确的位置。