php - 如何编写 htaccess 文件,更改 URL

标签 php wordpress .htaccess codeigniter

我正在尝试将实际 URL 转换为用户友好的动态菜单,当用户单击页面时,原始 URL 变为

http://example.com/single.php?name=mypagename

我想把它改成

http://example.com/page/mypagename

这是我从不同角度尝试过的 htaccess 文件 请任何人帮助更正它..

# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymlinks -Multiviews
Options +SymLinksIfOwnerMatch -Multiviews
RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /single\.php(\?|\ )
RewriteCond %{QUERY_STRING} name=(.+)
RewriteRule page/(.*) single.php?name=$1
RewriteRule ^ /page/%1? [L,R=301]

最佳答案

你必须重新安排你的指令:

# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymlinks -Multiviews
Options +SymLinksIfOwnerMatch -Multiviews
RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} \s/+single\.php\?name=([^\s&]+) [NC]
RewriteRule ^ /page/%1? [L,R=301]

RewriteRule ^page/(.*)$ single.php?name=$1 [L,NC,QSA]

RewriteCond %{THE_REQUEST} \s/+(Web/2015/wessexcars)/internalpage\.php?seo=\?name=([^\s&]+) [NC]
RewriteRule ^ %1/%2? [L,R=301]

RewriteRule ^(Web/2015/wessexcars)/(.+?)/?$ $1/internalpage.php?seo=$1 [L,NC,QSA]

关于php - 如何编写 htaccess 文件,更改 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27478143/

相关文章:

php - 如何在 PHP 中处理 MySQL POINT() 字段?

html - 无法在移动设备和桌面设备上将照片居中

image - Wordpress:使文本最大宽度:660px 图像最大宽度:1000px

css - 页脚上方的空白使用 CSS 位置 :fixed

.htaccess - 我可以使用 DNS 或 .htaccess 将子域重定向到其他站点吗?

apache - 带有 anchor 链接的 mod_rewrite

php - MySQL/MariaDB 不接受 JSON 格式?无法创建数据库

php - 树形菜单不会滚动

php - 条件语句中参数的顺序会影响 php 的执行时间吗?

.htaccess - 限制通过其父框架/域以外的任何内容访问 iframed 域