doucan8521 2011-04-14 11:04
浏览 14
已采纳

我的mod-rewrite改变url是行不通的

I want to replace my.example.com/newsletter.php or example.com/newsletter.php to be example.com/newsletter/

I tried this:

RewriteEngine On
RewriteRule ^([a-z]+)$ /$1.php [L]

and what if I want http://example.com/communities/index.php?sub_id=1

to be a specific name like http://example.com/communities/Bridlewood/

possible?

  • 写回答

3条回答 默认 最新

  • duannaiying9662 2011-04-14 11:21
    关注

    The other answers are right about the leading slash, and you should catch the possibility of a trailing slash (bearing in mind that '$' marks the end of a string .

    Try something like this:

    RewriteBase /
    
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !-d
    
    RewriteRule ^([a-z-]+)/?$ /$1.php [QSA,NC,L]
    

    Note: The QSA flag stands for 'query string append' and will pass any url query on to the relevant page.

    hth

    EDIT: For URL's that contain characters other than lower case alpha's you should change the range group, use a case-insensitive switch or simply use (.*) as per other peoples examples!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据