我的网站有一个这样的网址-
http://www.mydomain.com/profiles/centers/index.php?code=2507&name=Tharanga+Higher+Educational+Institute#page=art-section
我需要显示以上的网址作为友好的网址在我的浏览器的地址栏,当它转到上述网页。
我期望的网址是这样的-

http://mydomain.com/centers/Tharanga-Higher-Educational-Institute#page=art-section

到目前为止,我的.htaccess文件中的这段代码
# Enable Rewriting
RewriteEngine on

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /profiles/centers/index.php\?code=([0-9]+)&name=([^&]+)&?([^\ ]+)
RewriteRule ^profiles/centers/index\.php /%1/?%2 [R=301,L,NE]

但这个密码对我不起作用。希望有人能帮我。
谢谢您。

最佳答案

将代码替换为:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+profiles/centers/index\.php\?code=([^&]+)&name=([^&\s]+) [NC]
RewriteRule ^ /%1/%2? [R=302,L,NE]

RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]+)/([^/]+)/?$ /profiles/centers/index.php?code=$1&name=$2 [L,NC,QSA,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(js|css|jpe?g|gif|png)$ /profiles/centers/%{REQUEST_URI} [NC,L,R=302]

一旦确认工作正常,将R=302替换为R=301。在测试mod_重写规则时避免使用R=301(永久重定向)。

关于php - 如何创建漂亮的网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16747543/

10-11 17:42